package com.cwx.mychat.utils.threadLocal;

import com.cwx.mychat.entity.dto.LoginUserDto;
import com.cwx.mychat.entity.dto.TokenUserInfoDto;

public class ThreadLocalUtil {

    /**
     * 保存用户对象的ThreadLocal  在拦截器操作 添加、删除相关用户数据
     */
    private static final ThreadLocal<LoginUserDto> userLoginDtoThreadLocal = new ThreadLocal<LoginUserDto>();

    /**
     * 添加当前登录用户方法  在拦截器方法执行前调用设置获取用户
     */
    public static void addLoginUserDto(LoginUserDto user){
        userLoginDtoThreadLocal.set(user);
    }

    /**
     * 获取当前登录用户方法
     */
    public static LoginUserDto getLoginUserDto(){
        return userLoginDtoThreadLocal.get();
    }


    /**
     * 删除当前登录用户方法  在拦截器方法执行后 移除当前用户对象
     */
    public static void removeLoginUserDto(){
        userLoginDtoThreadLocal.remove();
    }
}
